Numerical control method

ABSTRACT

Disclosed is a numerical control method for positionally controlling a movable element of a machine tool in such a manner that numerically controlled machining is performed along a projected path obtained by projecting a programmed path, lying on a predetermined plane, onto a plane of projection inclined at a predetermined angle with respect to the first-mentioned plane. The method includes the steps of entering data specifying a programmed path on the predetermined plane, subjecting the entered data to a projective transformation in accordance with entered projection angle data to generate projective transformation data specifying the projected path, and performing an interpolation on the basis of the projective transformation data to produce an output signal indicative of the results of the interpolation, and positionally controlling the movable element on the basis of the projective transformation output signal.

BACKGROUND OF THE INVENTION

This invention relates to a numerical control method and, moreparticularly, to a numerical control method for executing numericallycontrolled machining along a projected path obtained by projecting aprogrammed path, lying on a predetermined plane, onto a plane ofprojection inclined at a predetermined angle with respect to thefirst-mentioned plane.

In machine tools, especially wire-cut electric discharge machines, thereare cases where cutting is performed along a path obtained by projectinga programmed path lying on a predetermined plane, such as the X-Y plane,on a plane of projection which is inclined at a predetermined angle(projection angle) with respect to the X-Y plane. The path obtained isreferred to as a projected path. In some instances a path such as acircular arc on the X-Y plane will not be a circular arc when projectedon the plane of projection. It has therefore been conventional practiceto create numerical control (NC) data specifying the projected path andthen execute numerical control processing on the basis of this data inorder to perform cutting along the projected path. The conventionalmethod is disadvantageous, however, in that creating the NC dataspecifying the projected path requires considerable programming time andis a troublesome task.

SUMMARY OF THE INVENTION

Accordingly, an object of the present invention is to provide anumerical control method which enables cutting to be performed along aprojected path without requiring the creation of numerical control dataspecifying the projected path.

Another object of the present invention is to provide a numericalcontrol method which enables cutting to be performed along a projectedpath by effecting a projective transformation using data that specifiesa programmed path lying on a predetermined plane.

Still another object of the present invention is to provide a numericalcontrol method which enables input data programming steps to besimplified when cutting is to be performed along a projected path.

A further object of the present invention is to provide a numericalcontrol method which enables input data programming time to be shortenedwhen cutting is to be performed along a projected path.

Disclosed is a numerical control method for positionally controlling amovable element of a machine tool in such a manner that numericallycontrolled machining is performed along a projected path obtained byprojecting a programmed path, lying on a predetermined plane, onto aplane of projection inclined at a predetermined angle with respect tothe first-mentioned plane. The method includes the steps of enteringdata specifying a programmed path on the predetermined plane, subjectingthe entered data to a projective transformation in accordance withentered projection angle data to generate projective transformation dataspecifying the projected path, performing an interpolation on the basisof the projective transformation data to produce an output signalindicative of the results of the interpolation, and positionallycontrolling the movable element on the basis of the projectivetransformation output signal.

Other features and advantages of the invention will be apparent from thefollowing description taken in conjunction with the accompanyingdrawings in which like reference characters designate the same orsimilar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustrative view useful in describing a plane ofprojection and a projected path which are factors in the presentinvention;

FIG. 2 is an illustrative view useful in describing a case where X-Ycoordinates are rotated through an angle θ to establish an X'-Y'coordinate system in accordance with the method of the presentinvention;

FIG. 3 is an illustrative view useful in describing a transformationformula for effecting a transformation from the x'-Y' plane to an X"-Y"plane (plane of projection) in accordance with the method of the presentinvention;

FIGS. 4 and 5 are block diagram of an apparatus for practicing themethod of the present invention;

FIG. 6 is another example of an apparatus for practicing the method ofthe present invention; and

FIG. 7 is an illustrative view useful in describing a technique forpartitioning a circular arc into straight line segments through the useof the apparatus shown in FIG. 6.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to FIG. 1, numeral 11 denotes the X-Y plane, 12 a programmedpath specified on the X-Y plane, and 13 a plane of projection X"-Y"which is rotated about the X axis to incline the plane at a projectionangle α with respect to the X-Y plane. A projected path 14 is obtainedon the plane 13 by projecting the programmed path 12 onto the planealong the direction of arrow A, orthogonal to plane 11. When theprogrammed path 12 is thus projected on the X"-Y" plane along thedirection orthogonal to the X-Y plane, the resulting projected path 14is elongated along the Y" axis. For instance, if the programmed path onthe X-Y plane is a circle, then the projected path on the X"-Y" planewill be an ellipse whose major axis extends parallel to the Y" axis.Conversely, when the programmed path 12 is projected on the plane ofprojection 13 in the direction orthogonal thereto (in the direction B),the projected path 14 contracts along the Y" axis. Now the circularprogrammed path on the X-Y plane will result in a projected path that isshortened along the Y" axis, defining an ellipse whose major axis liesparallel to the X" axis.

The above is for a case where the X-Y plane is rotated about the X axis.It is obvious that the results will be the same if a plane of projectionis formed by rotating the X-Y plane about the Y-axis.

Reference will now be had to FIG. 2 to describe a case where X-Ycoordinates are rotated through an angle θ to establish an X'-Y'coordinate system. To create the plane of projection X"-Y" depicted inFIG. 1, the usual practice is to rotate the X-Y coordinates through anangle θ (referred to as the projective direction angle) to obtain theX'-Y' plane, as shown in FIG. 2, and then rotate the X'-Y' plane aboutits X' axis (or Y' axis) through a projection angle α. The result is theplane of projection X"-Y". If we determine the transformation formulabetween the plane of projection (the X"-Y" plane) and the X-Y plane,then use of the formula will allow us to transform the programmed pathon the X-Y plane into the projected path of the plane X"-Y", eliminatingthe need to create the NC data specifying the projected path.

If we let X'-Y' denote the plane arrived at by rotating the X-Y planeabout its origin O through the projective direction angle θ, then thecoordinates (x', y') of a point P on the X'-Y' plane can be found fromthe following formula, using the coordinates (x, y) of the point on theX-Y plane: ##EQU1##

FIG. 3 is useful in describing the formula for effecting thetransformation from the X'-Y' plane to the X"-Y" plane (plane ofprojection). The X"-Y" plane is obtained by rotating the X'-Y' planeabout its X' axis through the projection angle α. We shall let Q' denotea point which is obtained on the X"-Y" plane by the projection of apoint Q, located on the X'-Y' plane, along a straight line orthogonal tothe X'-Y' plane. The coordinates (x", y") of the point Q' will be givenby

    x"=x', y"=y'/cos α                                   (2)

whereby the transformation formula between the X'-Y' plane and the X"-Y"plane will be written: ##EQU2## where k=1/cos α. Further, we shall letQ" denote a point which is obtained on the X"-Y" plane by the projectionof the point Q along a straight line orthogonal to the X"-Y" plane. Thecoordinates (x", y") of the point Q" will then be given by

    x"=x', y"=y' cos α                                   (4)

whereby the transformation formula between the X'-Y' plane and the X"-Y"plane can expressed as formula (3) under the condition k=cos α.Accordingly, the transformation formula between the X'-Y' and X"-Y"planes can be expressed by formula (3) if k is selected to be cos α or1/cos α in accordance with the direction of projection. We may thus findthe transformation formula between the X"-Y" plane and the X-Y plane bysubstituting formula (1) into formula (3): ##EQU3## The above formula 5is the sought transformation formula. Viewing the coordinate values x",y" from the X-Y coordinate system or, more specifically, effecting aconversion into graphic data as seen from the X-Y coordinate systemgives us: ##EQU4## It should be noted that formula (6) may be obtainedthrough a coordinate transformation achieved by rotating the X"-Y" planethrough the angle -θ. Expanding formula (6) gives us:

    x"=(cos.sup.2 θ+k sin.sup.2 θ)x+sin θ cos θ(1-k)y (7)

    y"=sin θ cos θ(1-k)x+(sin.sup.2 θ+k cos.sup.2 θ)y (8)

Reference will now be had to FIGS. 4 and 5 to describe a numericalcontrol method according to the present invention. FIG. 4 is asimplified block diagram of an apparatus for practicing the method ofthe invention, and FIG. 5 a more detailed view of the apparatus.

In FIG. 4, numeral 21 denotes an interpolating circuit and 22 aprojective transformation circuit. NC data specifying a programmed pathon the X-Y plane is stored beforehand on a paper tape or any other NCprogram storage medium (not shown) and is read in from the medium in ablock-by-block fashion. If a block of NC data read in from the papertape or the like is positioning or cutting path data, the data, denotedXc and Yc, is fed into the interpolating circuit 21. The interpolatingcircuit 21, upon receiving positioning data, performs a pulsedistribution computation on the basis of the data, producing distributedpulses Xp and Yp (for the X and Y axes, respectively) that are appliedto the projective transformation circuit 22. The latter circuit executesa projective transformation, described below, on the basis of thedistributed pulses, producing pulse trains Xs and Ys obtained as aresult of the transformation. These pulse trains are applied to machinetool servo circuitry (not shown) to control the movement of a movableelement such a tool or table.

FIG. 5 shows the projective conversion circuit 22 in detail. The circuitincludes an arithmetic unit 101 for computing sin θ, cos θ and k (=cos αor 1/cos α) upon the received signals indicative of the projectivedirection angle θ, projection angle α and projective direction data CDD,registers 102, 103 and 104 for storing cos θ, sin θ and k, respectively,registers 105X and 105Y for storing the results of computations, andarithmetic circuits 106X and 106Y for executing predeterminedcomputations when the distributed pulses Xp or Yp are generated.

Letting the content of register 105X be R1, arithmetic circuit 106Xperforms the following operation each time a distributed pulse Xp isgenerated:

    R1+(cos.sup.2 θ+k sin.sup.2 θ)→R1

and produces overflow pulses in the form of projective transformationpulses Xs along the X" axis. The computed results left after theelimination of overflow are newly registered in register 105X as R1.Arithmetic circuit 106X also performs the following operation each timea distributed pulse Yp is generated:

    R1+sin θ cos θ(1-k)→R1

and produces overflow pulses in the form of projective transformationpulses Xs along the X" axis. The computed results left after theelimination of overflow are newly registered in register 105X as R1. Inother words, arithmetic circuit 106X performs the projectivetransformation operation indicated by formula (7) and produces x"-numberof projective transformation pulses Xs when x-number of distributedpulses Xp and y-number of distributed pulses Yp are generated along theX and Y axes, respectively. It should be noted that x" is an integralnumber which satisfies the following equation:

    x"≦[(cos.sup.2 θ+k sin.sup.2 θ)x+sin θ-cos θ(1-k)y]<(x"+1).

Meanwhile, arithmetic circuit 106Y performs the following operation eachtime a distributed pulse Xp is generated:

    S1+sin θ cos θ(1-k)→S1

and produces overflow pulses in the form of projective transformationpulses Ys along the Y" axis. The computed results left after theelimination of overflow are newly registered in register 105Y as S1.Arithmetic circuit 106Y also performs the following operation each timea distributed pulse YP is generated:

    S1+(sin.sup.2 θ+k cos.sup.2 θ)→S1

and produces overflow pulses in the form of projective transformationpulses Ys along the Y" axis. The computed results left after theelimination of overflow are newly registered in register 105Y as S1. Inother words, arithmetic circuit 106Y performs the projectivetransformation operation indicated by formula (8) and produces y"-numberof projective transformation pulses Ys when x-number of distributedpulses Xp and y-number of distributed pulses Yp are generated along theX and Y axes, respectively. It should be noted that y" is an integralnumber which satisfies the following equation:

    y"≦[sin θ cos θ(1-k)x+(sin.sup.2 θ+k cos.sup.2 θ)y]<(y"+1).

The projective transformation pulse trains Xs and Ys obtained from theprojective transformation operation executed by the arithmetic circuits106X and 106Y in the above fashion are applied to machine tool servocircuitry (not shown) thereby controlling the movement of the movableelement of the machine tool, such as a tool or table. As a result ofsuch control, the movable element will travel along the projected pathlying in the plane of projection. Although the projective transformationcircuit 22 has been described and illustrated in the form of hardware,it is obvious that the same may be realized by means of a microcomputeror the like.

FIG. 6 is a block diagram of apparatus for practicing another embodimentof the numerical control method of the present invention. Unlike thearrangement of FIGS. 4 and 5, (a) when the NC data specifying theprogrammed path on the X-Y plane is read in from the paper tape or thelike, projective transformation processing is performed once on thebasis of the formulae (7) and (8) and pulse distribution operations areexecuted on the basis of the data obtained from such processing, and (b)curves such as circular arcs are partitioned into a multiplicity ofminute line segments, followed by projective transformation processingperformed on the resulting line segments.

In FIG. 6, numeral 31 denotes an approximation circuit for approximatinga curve or, in this example, a circular arc, by means of a multiplicityof minute line segments. The approximating circuit 31 is adapted topartition a circular arc 31a, shown in FIG. 7, in accordance with aminute central angle Δθ, and to successively connect each of thepartitioning points Pi (i=0,1,2 . . . ) to approximate the arc by meansof the resulting straight line segments. The coordinates Xi and Yi ofthe partitioning points Pi may be found from the following equations:

    Xi=R cos θi, Yi=R sin θi

The output of the approximating circuit 31 is connected to a projectivetransformation circuit 32 which executes the projective transformationprocessing specified by the formulae (7) and (8) with regard to thestarting and end points of each straight line segment on the X-Y planefor computing the coordinates on the plane of projection (the X"-Y"plane). The output of the projective transformation circuit 32 isconnected to an interpolating circuit 33 which executes pulsedistribution operations on the basis of the transformation data obtainedfrom circuit 32. NC data specifying a programmed path on the X-Y planeis stored beforehand on a paper tape or any other NC program storagemedium (not shown) and is read in from said medium in a block-by-blockfashion. If a block of NC data read in from the paper tape or the likeis linear interpolation data Xc and Yc, the linear interpolation data isfed into the projective transformation circuit 32 where the coordinatesspecifying the end point of a line segment are transformed intocoordinates on the plane of projection by using the formulae (7) and(8). Thenceforth incremental values on the plane of projection arecomputed, pulse trains Xs and Ys are generated as a result of a pulsedistribution operation performed by the interpolating circuit 33 on thebasis of the incremental values, and the pulse trains Xs and Ys areapplied to the servo circuitry (not shown) to control the movement ofthe movable element such as the tool or table. If the NC data read infrom the NC tape is circular interpolation data, on the other hand, thenthis data is applied to the approximation circuit 31 where the circulararc is partitioned into a multiplicity of minute line segments. Signalsindicative of these line segments are applied to the projectivetransformation circuit 32, which then performs the transformation asdescribed above.

In accordance with the present invention as described and illustratedhereinabove, programming is simplified and programming time shortenedsince it is no longer necessary to create the NC data specifying thepath on the plane of projection. The invention also simplifies machiningon the plane of projection, enhances the performance of NC devices andbroadens their field of application.

Although a certain preferred embodiment has been shown and described indetail, it should be understood that many changes and modifications maybe made therein without departing from the scope of the appended claims.

What we claim is:
 1. A numerical control method for positionallycontrolling a movable element of a machine tool in such a manner thatnumerically controlled machining is performed along a projected pathobtained by projecting a programmed path, lying on a predeterminedplane, onto a plane of projection inclined at a predetermined angle withrespect to the predetermined plane, said method comprising the stepsof:(a) entering path data specifying a programmed path on thepredetermined plane and angle data specifying the predetermined angle;(b) performing an interpolation on the basis of the entered path data toproduce an output signal indicative of the results of the interpolation;and (c) subjecting the output signal obtained in step (b) to aprojective transformation in accordance with the entered projectionangle data to generate a projective transformation output signalspecifying the projected path, and positionally controlling the movableelement on the basis of the projective transformation output signal. 2.A numerical control method according to claim 1, wherein step (b)comprises performing a pulse distribution operation as saidinterpolation to produce distributed pulses as said output signalindicative of the results of said interpolation.
 3. A numerical controlmethod according to claim 2, wherein step (b) further comprisesproducing X-axis distributed pulses and Y-axis distributed pules,pertaining to X and Y axes on the predetermined plane, respectively, assaid distributed pulses.
 4. A numerical control method according toclaim 2, wherein step (c) comprises subjecting said distributed pulsesto a projective transformation as each pulse is received, in order toproduce projective transformation pulses.
 5. A numerical control methodaccording to claim 4, wherein said projection angle data includessinusoidal and cosinusoidal values, and wherein step (c) comprises thesteps of:(a') performing an arithmetic operation of combining thesinusoidal and cosinusoidal values in said projection angle data eachtime a distributed pulse is received and adding the result of saidarithmetic operation to the result of an arithmetic operation performedin response to receipt of the immediately preceding distributed pulse;(b') producing an output signal, indicative of overflow resulting fromsaid addition, as said projective transformation pulses; and (c')storing the result of said addition, exclusive of said overflow, as theresult of the current pulse distribution operation.
 6. A numericalcontrol method according to claim 5, wherein step (b) comprisesproducing X-axis distributed pulses and Y-axis distributed pulses,pertaining to X and Y axes on the predetermined plane, respectively, assaid distributed pulses, and wherein step (c) further comprises addingsaid X-axis distributed pulses and said Y-axis distributed pulses aseach is received.
 7. A numerical control method according to claim6,wherein step (a') comprises performing first and second arithmeticoperations each comprising: (1) combining said sinusoidal andcosinusoidal values each time said X-axis and Y-axis distributed pulsesare received; and (2) adding the result of each arithmetic operation tothe result of a respective arithmetic operation performed in response toreceipt of the immediately preceding respective distributed pulse,andwherein step (b') comprises: (1) producing an output signal,indicative of overflow resulting from said addition based on the resultof said first arithmetic operation, as X-axis projective transformationpulses; and (2) producing an output signal, indicative of overflowresulting from said addition based on the result of said secondarithmetic operation, as Y-axis projective transformation pulses.
 8. Anumerical control method for positionally controlling the movableelement of a machine tool in such a manner that numerically controlledmachining is performed along a projected path obtained by projecting aprogrammed path, lying on a predetermined plane, onto a plane ofprojection inclined at a predetermined angle with respect to thepredetermined plane, said method comprising the steps of:(a) enteringpath data specifying a programmed path on the predetermined plane andprojection angle data specifying the predetermined angle; (b) subjectingthe path data entered in step (a) to a projective transformation inaccordance with the entered projection angle data to generate projectivetransformation data specifying the projected path; and (c) performing aninterpolation on the basis of the projective transformation data toproduce an output signal indicative of the results of the interpolation,and positionally controlling the movable element on the basis of theprojective transformation output signal.
 9. A numerical control methodaccording to claim 8, wherein step (c) comprises performing a pulsedistribution operation as said interpolation to produce distributionpulses as said output signal indicative of the results of saidinterpolation.
 10. A numerical control method according to claim 8,wherein step (a) comprises entering coordinates of starting and endpoints of straight line segments.
 11. A numerical control methodaccording to claim 10, further comprising a step of approximatingcircular arcs by a multiplicity of minute straight line segments priorto step (a).
 12. A numerical control method for positionally controllinga movable element of a machine tool based on path data for apredetermined plane, said method comprising the steps of:(a) providing aprojective direction angle and projection angle data specifying aprojection of the path data onto a projection plane; (b) transformingthe path data for the predetermined plane into path data for theprojection plane in dependence upon the projective direction angle andprojection angle data; and (c) controlling the movable element independence upon the transformed path data.
 13. A numerical controlmethod according to claim 12, wherein the transformation is performed inaccordance with

    X1-(cos.sup.2 N+K sin.sup.2 N)X+sin N cos N(1-k)y

and

    Y1-sin N cos N(1-k)X+(sin.sup.2 N+k cos.sup.2 N)y

where X and Y are path data in the predetermined plane, X1 and Y1 arepath data in the projection plane, N is the projective direction angleand k is the projection angle data.
 14. A numerical control method asrecited in claim 13, wherein the projection angle data further includesa projection angle, and wherein k=cos m, where m equals the projectionangle.
 15. A numerical control method according to claim 13, wherein theprojection angle data further includes a projection angle, and whereink=1/cos m, where m equals the projection angle.